/*******************************************************************************
版权声明: Copyright(C) HT-Tech Co., Ltd. 2020-2021. All rights reserved.
文件名称: htssl.h
文件描述: 国密SSL创建
创 建 者: 陈位仅
创建时间: 2024年11月13日
修改历史:
1. 2024年11月13日   陈位仅      创建文件 
*******************************************************************************/
#ifndef _HTSSL__15882503819
#define _HTSSL__15882503819

// SSL隧道信息
typedef struct htssl_info_
{
    int fdLocal;        // 本地描述符
    int fdTun;          // 隧道描述符
    int fdNet;          // TCP网络通信描述符
    SSL *ssl;           // SSL通信结构
    SSL_CTX *sslCtx;    // SSL隧道上下文
    ht_cfg_t *pcfg;     // SSL配置信息
}htssl_info_t;

//*************************************************************
// 接口名: htssl_create
// 描  述: 建立国密SSL隧道
// 参  数: pcfg:终端配置信息 [OUT]
//         pInfo:SSL隧道信息 [OUT]
//         pIP:SSL服务IP [IN]
//         port:SSL服务端口 [IN]
// 返回值: 
//        0    成功
//        -1   失败
//*************************************************************
int htssl_create(IN ht_cfg_t *pcfg, OUT htssl_info_t *pInfo, IN char *pIP, IN short port);

//*************************************************************
// 接口名: htssl_final
// 描  述: 拆除国密SSL隧道
// 参  数: SSL隧道
// 返回值: 无
//*************************************************************
void htssl_final(IN htssl_info_t *pInfo);

#endif // _HTSSL__15882503819
